00. 目录

文章目录

  • 00. 目录
  • 01. 控制原理
  • 02. 配置寄存器
  • 03. 程序示例一
  • 04. 程序示例二
  • 05. 程序示例三
  • 06. 附录

01. 控制原理

咱们的LED在核心板上,所以需要看核心板的原理图

打开核心板原理图(Tiny4412-1412-Schematic.pdf)

由上图可知,Tiny4412有4个用户LED灯,控制它们四个引脚分别是GPM4_0~ GPM4_3,由原理可知,当IO引脚为高电平时,LED灯灭,当IO引脚为低电平时LED亮。我们要做的工作就是设置GPM4_0~ GPM4_3为输出功能,且控制且输出电平高低即可。

02. 配置寄存器

由原理图可知,程序只进行了两步操作。

第一步:设置GPM4_0~GPM4_3相对应的控制寄存器GPM4CON,使GPM4_0 GPM4_3四个引脚为输出功能。

第二步:设置其对应的数据寄存器GPM4DAT对应的4个bit位为0,使GPM4_0~ GPM4_3为低电平,4个LED灯全亮,使GPM4_0~ GPM4_3全为高电平,4个LED灯全灭。

03. 程序示例一

将所有的灯全部都亮

    .section .rodata.align 2
.LC0:.string "led all on\n".section .text.align 2.global _start
_start:stmfd sp!, {lr}@配置为输出ldr r0, =0x110002E0  ldr r1, [r0]ldr r2, =0xffffbic r1, r1, r2@0x1 = Outputldr r2, =0x1111orr r1, r1, r2str r1, [r0]@设置低电平ldr r0, =0x110002E4    ldr r1, [r0]bic r1, r1, #0xfstr r1, [r0]@output led all onldr r0, =.LC0 mov lr, pcldr pc, =0x43e11a2cldmfd sp!, {pc}

Makefile

all:arm-linux-gcc -c test.s -o test.oarm-linux-ld -Ttext=0x40008000 test.o -o testarm-linux-objcopy -O binary test test.bin.PHONY:clean
clean:rm -rf test.o test test.bin

04. 程序示例二

将所有的灯全部都灭

    .section .rodata.align 2
.LC0:.string "led all off\n".section .text.align 2.global _start
_start:stmfd sp!, {lr}@配置为输出ldr r0, =0x110002E0  ldr r1, [r0]ldr r2, =0xffffbic r1, r1, r2ldr r2, =0x1111orr r1, r1, r2str r1, [r0]@设置低点平ldr r0, =0x110002E4    ldr r1, [r0]orr r1, r1, #0xfstr r1, [r0]@output led all onldr r0, =.LC0 mov lr, pcldr pc, =0x43e11a2cldmfd sp!, {pc}

05. 程序示例三

所有led闪烁

    .section .rodata.align 2
.LC0:.string "led all off\n".section .text.align 2.global _start
_start:stmfd sp!, {lr}@配置为输出ldr r0, =0x110002E0  ldr r1, [r0]ldr r2, =0xffffbic r1, r1, r2ldr r2, =0x1111orr r1, r1, r2str r1, [r0]1:@offldr r0, =0x110002E4    ldr r1, [r0]orr r1, r1, #0xfstr r1, [r0]@sleep 1ldr r0, =1000000 mov lr, pcldr pc, =0x43e26480@onldr r0, =0x110002E4    ldr r1, [r0]bic r1, r1, #0xfstr r1, [r0]@sleep 1ldr r0, =1000000 mov lr, pcldr pc, =0x43e26480b 1bldmfd sp!, {pc}

06. 附录

Exynos 4412 SCP_Users Manual_Ver.0.10.00_Preliminary0.pdf

【ARM】Tiny4412裸机编程之LED(一)相关推荐

  1. 【ARM】Tiny4412裸机编程之GPIO简介

    00. 目录 文章目录 00. 目录 01. GPIO概述 02. GPIO寄存器 03. GPIO框图 04. 附录 01. GPIO概述 GPIO(General Purpose I/O Port ...

  2. 【ARM】Tiny4412裸板编程之LED(C语言)

    00. 目录 文章目录 00. 目录 01. 控制原理 02. 配置寄存器 03. 程序示例一 04. 程序示例二 05. 程序示例三 06. 程序实例四 07. 附录 01. 控制原理 咱们的LED ...

  3. 【ARM】Tiny4412裸板编程之LED(二)

    00. 目录 文章目录 00. 目录 01. 控制原理 02. 配置寄存器 03. 程序示例一 04. 程序示例二 05. 程序示例三 06. 附录 01. 控制原理 咱们的LED在核心板上,所以需要 ...

  4. s3c2440arm裸机编程之ADC触摸屏

    ADC触摸屏 硬件原理 s3c2440有8通道的ADC,一次同时只能查询一个通道.分为A0~A7.这里的P(positive)表示的是正的意思 ADC通道     A4 TSYM -Y A5 TSYP ...

  5. Tiny4412汇编流水灯代码,Tiny4412裸机LED操作【转】

    本转载自:http://www.techbulo.com/1313.html Tiny4412汇编流水灯代码,Tiny4412裸机LED操作 2014年10月20日 ⁄ 裸机程序 ⁄ 共 4171字 ...

  6. ARM嵌入式编程之STM32的命名方法 STM32F103VET6命名解释

    ARM嵌入式编程之STM32的命名方法 STM32F103VET6命名解释: ARM嵌入式编程之STM32的命名方法 STM32F103VET6命名解释

  7. UART0串口编程(四):UART0串口编程之在UC/OS—II中遭遇的危机

    UART0串口编程之在UC/OS-II中遭遇的危机 一.潜在的危机 1.在uc/os操作系统中设计串口编程时,由于ISR和多个任务并发执行,情况比较复杂.尤其是接收状态为被动状态时,只能靠串行口中断来 ...

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

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

  9. Linux内存管理:ARM64体系结构与编程之cache(3):cache一致性协议(MESI、MOESI)、cache伪共享

    目录 为什么系统软件人员要深入了解cache? cache一致性协议 神马是MESI协议? MESI的操作 MESI状态图 演示:初始化状态为I的cache line 当本地CPU的缓存行状态为I时, ...

最新文章

  1. linux open()调用的注意事项
  2. 【linux基础】重命名文件和文件夹
  3. 计算机系统结构研究分支,“计算机系统结构” 课程教学探讨[J] 电子科技大学.doc...
  4. php amp ldquo 转换,php与html代码的若干转换
  5. 大数据时代第一部分思维导图_大数据时代总结思维导图模板分享
  6. windbg调试实例(4)--句柄泄露
  7. JAX-RS开发 hello world
  8. 我开发了一个对.NET程序进行瘦身的工具
  9. pythonstdin_python 笔试输入:sys.stdin.readline和input
  10. sh mysql configure_【翻译自mos文章】使用config.sh/config.bat来configureorre-con
  11. python xml解析cdata_python基于xml parse实现解析cdatasection数据
  12. 基础架构之GitLab
  13. python环境下数据操作_在windows环境下使用Python操作spatialite数据库
  14. Photoshop插件-HDR(五)-脚本开发-PS插件
  15. 北京大学计算机语言学,基于认知的汉语计算语言学研究_袁毓林pdf
  16. WIN7安装启动盘制作并支持usb3.0
  17. c语言叠阵题目怎么做,选出下列词语书写全正确的一组[]A、贪婪点辍忍军不禁玲珑剔透B、辜负骚扰擎天旱地多姿多采C、小憩茁壮怡然自得头昏目眩D、玷污糟蹋蜂围叠阵明察秋豪...
  18. 新世纪大学英语(第二版)综合教程第一册 Unit 1 (中英翻译和重点单词)
  19. IReport问题的整理
  20. 用python实现的钉钉后台开发

热门文章

  1. BIETLOLTP之概念熟悉
  2. 在发送键击时,求教Send与SendWait方法,应用于Win7和XP的不同。
  3. sql获取oracle数据库数据,通过sql语句获取数据库的基本信息
  4. 选择排序之小白学算法
  5. html也没锚点,css 锚点定位不了
  6. 日周月筛选器_举个栗子!Tableau 技巧(147):使用 动态参数 筛选到最新日期值...
  7. JDBC Statement PrepareStatement
  8. 正则-元字符 注意正则表达式中间不要随意加空格
  9. Xamarin 中Visual Studio创建项目提示错误
  10. 运算符之:2、算术运算符(7个)