Tiny6410裸机编程——(二)汇编点亮LED

  • Tiny6410开发板支持NAND和SD启动两种方式,从原理图看

我的理解是图中标记为“NC”即是不连接(Not Connected)的意思,OM[0:4]=01111,BOOT_EINT[13:15]=000,参考下表可知为SD卡启动,原理图中没有描述出开关。

  • LED的原理图如下:

GPK4,5,6,7为低电平时发光二极管导通点亮,为高电平时,发光二极管不导通。

  • ARM汇编

MOV指令

   1: 语法:
   2:  
   3: MOV{cond}{s} Rd, N
   4:  
   5: 将一个数送到Rd寄存器,N可以是寄存器Rm,也可以是以#开头的立即数,举例如下
   6:  
   7: 执行前:
   8:  
   9: r5=2
  10:  
  11: r7=4
  12:  
  13: MOV r5,r7
  14:  
  15: 执行后,
  16:  
  17: r5=4
  18:  
  19: r7=4
  20:  

MVN指令

   1: 与MOV指令相似,只是先将源寄存器或者立即数复取反,然后再复制到目标寄存器
时间: 2024-10-28 14:03:02

Tiny6410裸机编程——(二)汇编点亮LED的相关文章

Tiny6410裸机编程——(一)SD卡启动

友善提供的SuperBoot功能强大,在其启动过程中已经对S3C6410做了很多初始化的工作,在裸机编程时使用它不利于了解ARM的启动过程.所以计划直接将裸机程序烧到SD卡中启动. 使用友善提供的SD-Flasher.exe程序,经过多次实验,都无法将裸机程序烧写到SD卡上,2G,4G,小卡,大卡都试了一遍,没有成功.后来想到使用winhex直接烧写到SD卡,才成功完成实验. 我是将裸机程序使用winhex烧写到4G的大卡上,下面以led.s为例,记录一下全过程. 首先在虚拟机中编译led.s,

ARM裸机之点亮LED

声明:本文由个人学习过程中整理而成,转载请注明出处 实验开发版:S5PV210 1.什么是GPIO? General Purpose Input Output (通用输入/输出)简称为GPIO,属于芯片引脚的一部分. 嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号.而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,比如灯亮与灭.对这些设备/电路的控制,使用传统的串行口或并行口都不合适

嵌入式Linux裸机开发(一)——点亮Led

嵌入式Linux裸机开发(一)--点亮Led 开发板:友善之臂smart210 一.电路图查阅 1.底板电路图 查阅开发板底板电路图,查阅LED相关部分 LED电路工作原理: LED的正极接3.3V,负极接地时导通,LED发光. 开发板共有四颗LED,正极接3.3V,负极接开发板的LED1_LED4引脚,如果LED要点亮则需要输入低电平. 2.核心板电路图 查阅核心板电路图可知,LED1-LED4接在SoC的GPJ2_0-GPJ2_3,通过控制GPJ2_0-GPJ2_3的寄存器使对应GPIO引脚

TQ2440按键点亮LED灯的裸机程序

一,说到做ARM的裸机程序,很多人马上就会联想到一个名为ADS的开发工具,但是我们在linux下同样也可以做ARM的裸机程序,下面来说说其具体实施过程: 步骤一:编辑代码,这个没什么好说的. 步骤二:编译代码,编译代码分为三个方面的内容:1.链接脚本 2.用命令行确定链接时的文件顺序 3.用命令行编译.这三部分的内容可以全部写成一个Makefile文件,编译的时候执行make命令就可以了. 步骤三:把编译后的".bin"文件烧写进开发板,重新上电观察效果. 二,TQ2440按键点亮LE

zigbee学习之路(二):点亮LED

一.前言 今天,我来教大家如何点亮led,这也是学习开发板最基础的步骤了. 二.原理分析 cc2530芯片跟虽然是51的内核,但是它跟51单片机还是有区别的,51单片机不需要对IO口进行配置,而cc2530芯片却需要对IO口进行配置,才能对它进行赋值,需要配置的寄存器有PXSEL,PXDIR,PXINP,x可以代表任意IO口,如P1SEL. 下面介绍PXSEL的功能: 下面介绍PXDIR的功能: 下面介绍PXINP的功能: 通过配置以上寄存器的,就可以控制IO口德输入输出状态,是否做为普通IO口

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

背景 最近刚买了Raspberry PI B+,配置运行了官方提供的Raspbian系统,折腾了一周Linux系统,感觉没啥意思,于是就试着想了解底层的启动流程,通过几天的研究,发现最底层部分的启动是由官方提供的bootcore.bin和start.elf文件来执行(应该是对硬件设备的初始化,如MMU等),之后由下一部分kernel.img的_start接管.为了真正验证此流程,于是想利用GPIO控制LED灯,几经折腾终于成功点亮LED,现记录于此. 外设地址编码 要想控制GPIO管脚就必须知道

使用寄存器点亮LED——编程实战

stm32的编程和stc89c51还是存在着很多思想上的不同的,在51单片机中,我们点亮LED灯,只用给对应IO高低电平就可以了,而stm32中,就一个简单的GPIO,我们也需要配置好几个寄存器,而且,就算配置好GPIO寄存器,我们还必须有一步不能缺少的操作,那就是开启对应GPIO的时钟.在stm32的编程中,开启对应时钟是必不可少的一个操作,而且,开启时钟的操作必须在配置相应寄存器之前,以GPIO为例,如果我们先配置GPIO的寄存器,不开启时钟或者先配置GPIO寄存器,最后再开启时钟,都不能正

s3c2440裸机编程-时钟编程(二、配置时钟寄存器)

s3c2440裸机编程-时钟编程(二.配置时钟寄存器) 1.2440时钟时序 下图是2440时钟配置时序: 1.上电后,nRESET复位信号拉低,此时cpu还无法取指令工作. 2.nRESET复位信号结束后变为高电平,此时cpu开始工作.此时cpu主频FCLK=osc. 3.此时可以配置PLL,经过lock time后,FCLK倍频成新的时钟. 2.如何配置时钟 在参考手册的特性里介绍了S3C2440的工作频率,Fclk最高400MHz,Hclk最高136MHz,Pclk最高68MHz.那么 我

S5PV210(TQ210)裸机编程

本文很多其它的是教会大家怎样学习. 4.1    汇编学习 4.1.1 基础知识 4.1.2 ARM模拟器 4.2    S5PV210启动流程 4.3    点亮一个LED 4.4    串口 4.5    实现printf函数 4.6    时钟配置 4.7    重定位(BL1载入BL2到SRAM) 4.8    DDR 4.9    NAND FLASH读写 4.10 NAND读写之8位硬件ECC 4.11 NAND读写之8位硬件ECC(续) 4.12 LCD操作 裸机编程仅仅是我写的<